package com.xyy.saas.payment.cores.vo;

import com.xyy.saas.payment.cores.enums.*;

import java.io.Serializable;

/**
 * @author wangtianqi
 */
public class OrderPayVoV1 implements Serializable {

    private static final long serialVersionUID = -4320360293910830577L;

    /**
     * 发起支付的订单号（支付平台侧 订单号）
     */
    private String payNo;
    /**
     * 接口调用方的标识，支付平台分配，用于验签
     */
    private String invoker;
    /**
     * 接口调用方的业务类型, 支付平台分配
     */
    private String businessType;
    /**
     * 订单发起方的业务类型, 用于标识用户id归属，支付平台分配
     */
    private String businessIdType;
    /**
     * 订单业务类型, 用于标识订单归属，支付平台分配
     */
    private String businessOrderType;
    /**
     * 支付渠道 (接入具体参数请联系支付平台开发人员)
     */
    private ChannelEnum channel;
    /**
     * 支付方式 (app、小程序、扫码等)
     */
    private PayModeEnum payModeEnum;
    /**
     * 扩展参数 map格式转成json 没有就不填
     ***************************************************************
     * 微信支付需要传订单过期时间 key:timeExpire value:yyyyMMddHHmmss
     * 微信小程序支付需要传入用户openId  key:openId  value:用户的openId
     * 微信扫码支付需要传入商品id  业务自行维护 key:productId  value:商品ID
     ***************************************************************
     * 银联pc支付需要支付成功后跳转的地址 key:resultUrl value:网页地址
     ***************************************************************
     * 支付宝小程序支付需要传入买家支付宝ID  key:buyerId value:买家支付宝ID
     */
    private String mapJson;

    public String getPayNo() {
        return payNo;
    }

    public void setPayNo(String payNo) {
        this.payNo = payNo;
    }

    public String getBusinessOrderType() {
        return businessOrderType;
    }

    public void setBusinessOrderType(String businessOrderType) {
        this.businessOrderType = businessOrderType;
    }

    public String getInvoker() {
        return invoker;
    }

    public void setInvoker(String invoker) {
        this.invoker = invoker;
    }

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public String getBusinessIdType() {
        return businessIdType;
    }

    public void setBusinessIdType(String businessIdType) {
        this.businessIdType = businessIdType;
    }

    public ChannelEnum getChannel() {
        return channel;
    }

    public void setChannel(ChannelEnum channel) {
        this.channel = channel;
    }

    public String getMapJson() {
        return mapJson;
    }

    public void setMapJson(String mapJson) {
        this.mapJson = mapJson;
    }

    public PayModeEnum getPayModeEnum() {
        return payModeEnum;
    }

    public void setPayModeEnum(PayModeEnum payModeEnum) {
        this.payModeEnum = payModeEnum;
    }
}
